package csvm_v3.components;

import csvm_v1.products.Product;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * ProductContainer menyimpan persediaan produk yang ada dalam vending machine
 *
 * @author Muhmammad Anis
 */
public class ProductContainer {

    /**
     * mengurangi stok produk sesuai dengan jumlah produk yang dibeli
     *
     * @param produk produk
     * @param count jumlah produk
     */
    public void giveProducts(Product produk, Integer count) {
        Integer jumlahAsal = productStock.get(produk);        
        productStock.put(produk, jumlahAsal - count);        
    }

    /**
     * mengisikan produk yang ada dalam vending machine
     */
    public void emptyProducts() {        
        Iterator it = productStock.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry pairs = (Map.Entry) it.next();
            productStock.put(((Product) pairs.getValue()), 0);
        }        
    }

    /**
     * mengisikan nilai product stock
     *
     * @param productStock stok produk
     */
    public void setProductStock(HashMap<Product, Integer> productStock) {        
        this.productStock = productStock;        
    }

    /**
     * mengisikan stok produk
     *
     * @return stok produk
     */
    public HashMap<Product, Integer> getProductStock() {
        return productStock;
    }
    /**
     * stok produk
     */
    protected HashMap<Product, Integer> productStock;

    /**
     * konstruktor ProductContainer
     */
    public ProductContainer() {
        super();
        productStock = new HashMap<>();
    }
}
